<html>
<head><meta charset="utf-8"><title>trying out the new rayon scheduler · t-compiler/wg-parallel-rustc · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/index.html">t-compiler/wg-parallel-rustc</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html">trying out the new rayon scheduler</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="180764900"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180764900" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180764900">(Nov 14 2019 at 19:27)</a>:</h4>
<p>So one of the work items we identified was to try out the new rayon scheduler to see if it made any different to our jobserver woes.</p>



<a name="180764915"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180764915" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180764915">(Nov 14 2019 at 19:27)</a>:</h4>
<p>I was talking to <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> and they expressed an interest in doing this</p>



<a name="180764946"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180764946" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180764946">(Nov 14 2019 at 19:28)</a>:</h4>
<p>I've been wanting to do it but I am not sure if I have time</p>



<a name="180765003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765003">(Nov 14 2019 at 19:28)</a>:</h4>
<p>I guess what would need to happen is:</p>



<a name="180765013"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765013" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765013">(Nov 14 2019 at 19:28)</a>:</h4>
<ul>
<li>create a branch of rustc-rayon repo that contains those changes</li>
</ul>



<a name="180765016"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765016" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765016">(Nov 14 2019 at 19:28)</a>:</h4>
<ul>
<li>build rustc against that branch</li>
</ul>



<a name="180765033"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765033" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765033">(Nov 14 2019 at 19:28)</a>:</h4>
<ul>
<li>run the "build cargo" workflow that <span class="user-mention" data-user-id="116015">@Alex Crichton</span> was testing with?</li>
</ul>



<a name="180765049"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765049" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765049">(Nov 14 2019 at 19:28)</a>:</h4>
<p>maybe a first step, <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span>, would just be to try and reproduce <span class="user-mention" data-user-id="116015">@Alex Crichton</span>'s results</p>



<a name="180765064"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765064" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765064">(Nov 14 2019 at 19:28)</a>:</h4>
<p>just so we have a solid basis for comparison</p>



<a name="180765072"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765072" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765072">(Nov 14 2019 at 19:29)</a>:</h4>
<p>that's probably what I would do</p>



<a name="180765082"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765082" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765082">(Nov 14 2019 at 19:29)</a>:</h4>
<blockquote>
<ul>
<li>create a branch of rustc-rayon repo that contains those changes</li>
</ul>
</blockquote>
<p>those changes are on a rustc-rayon branch?</p>



<a name="180765088"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765088" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765088">(Nov 14 2019 at 19:29)</a>:</h4>
<blockquote>
<ul>
<li>create a branch of rustc-rayon repo that contains those changes</li>
</ul>
</blockquote>
<p>and then do this, there are two ways to go about it</p>



<a name="180765093"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765093" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765093">(Nov 14 2019 at 19:29)</a>:</h4>
<p>no, that's the trick</p>



<a name="180765098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765098">(Nov 14 2019 at 19:29)</a>:</h4>
<p>rustc-rayon is a fork of rayon</p>



<a name="180765104"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765104" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765104">(Nov 14 2019 at 19:29)</a>:</h4>
<p>and the changes are on a branch of <em>rayon</em></p>



<a name="180765112"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765112" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765112">(Nov 14 2019 at 19:29)</a>:</h4>
<p>so they have to be rebased atop rust-rayon --</p>



<a name="180765124"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765124" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765124">(Nov 14 2019 at 19:29)</a>:</h4>
<p>or else the rustc-rayon changes could be rebased atop the branch</p>



<a name="180765140"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765140" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765140">(Nov 14 2019 at 19:29)</a>:</h4>
<p>rustc-rayon is basically tracking rayon with a custom diff</p>



<a name="180765172"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765172" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765172">(Nov 14 2019 at 19:29)</a>:</h4>
<p>(hopefully it would eventually just be rayon, or we'd move to something custom written)</p>



<a name="180765240"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765240" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765240">(Nov 14 2019 at 19:30)</a>:</h4>
<p>I see, so we need to put rayon's repo changes on rustc-rayon and follow from there, right?</p>



<a name="180765273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765273">(Nov 14 2019 at 19:30)</a>:</h4>
<p>sorry to re-ask silly questions, I have the english understanding level of a child of 3 :P</p>



<a name="180765518"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765518" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765518">(Nov 14 2019 at 19:32)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> actually, <a href="https://github.com/rayon-rs/rayon/branches" target="_blank" title="https://github.com/rayon-rs/rayon/branches">https://github.com/rayon-rs/rayon/branches</a> there's no active branch there, or is the stuff just in master?</p>



<a name="180765554"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765554" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765554">(Nov 14 2019 at 19:33)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> it's on my fork</p>



<a name="180765837"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765837" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765837">(Nov 14 2019 at 19:35)</a>:</h4>
<p>I see :)</p>



<a name="180765929"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180765929" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180765929">(Nov 14 2019 at 19:36)</a>:</h4>
<p><a href="https://github.com/nikomatsakis/rayon/tree/latch-target-thread" target="_blank" title="https://github.com/nikomatsakis/rayon/tree/latch-target-thread">https://github.com/nikomatsakis/rayon/tree/latch-target-thread</a> I guess</p>



<a name="180862594"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180862594" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180862594">(Nov 15 2019 at 19:15)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> yes</p>



<a name="180862603"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180862603" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180862603">(Nov 15 2019 at 19:15)</a>:</h4>
<p>do you want to follow up on this?</p>



<a name="180862653"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180862653" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180862653">(Nov 15 2019 at 19:15)</a>:</h4>
<p>I'm literally doing this</p>



<a name="180862671"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180862671" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180862671">(Nov 15 2019 at 19:15)</a>:</h4>
<p>was talking with <span class="user-mention" data-user-id="116015">@Alex Crichton</span> in private</p>



<a name="180862694"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180862694" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180862694">(Nov 15 2019 at 19:15)</a>:</h4>
<p>was also saying him, let's jump into the thread maybe? :P</p>



<a name="180862804"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180862804" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180862804">(Nov 15 2019 at 19:17)</a>:</h4>
<p>gonna paste the same results that <span class="user-mention" data-user-id="116015">@Alex Crichton</span> have shared but for my machine and for 8 cores</p>



<a name="180863328"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180863328" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180863328">(Nov 15 2019 at 19:23)</a>:</h4>
<p>so running on cargo repo, for ...</p>



<a name="180863345"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180863345" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180863345">(Nov 15 2019 at 19:23)</a>:</h4>
<div class="codehilite"><pre><span></span>rm -rf target
RUSTFLAGS=-Zthreads=8 /usr/bin/time --verbose cargo +8d78bf6b273848d17da8f5c92162c6a6b9b10dfd-alt check &amp;
sleep 3
pkill cargo
</pre></div>



<a name="180863349"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180863349" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180863349">(Nov 15 2019 at 19:23)</a>:</h4>
<p>got</p>



<a name="180863398"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180863398" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180863398">(Nov 15 2019 at 19:24)</a>:</h4>
<div class="codehilite"><pre><span></span>    Command being timed: &quot;cargo +8d78bf6b273848d17da8f5c92162c6a6b9b10dfd-alt check&quot;
    User time (seconds): 6.93
    System time (seconds): 0.92
    Percent of CPU this job got: 259%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.02
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 160440
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 183788
    Voluntary context switches: 13599
    Involuntary context switches: 4617
    Swaps: 0
    File system inputs: 0
    File system outputs: 57104
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0
</pre></div>



<a name="180863812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180863812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180863812">(Nov 15 2019 at 19:28)</a>:</h4>
<p>FWIW the stats alone aren't too significant, but relative to others is where it helps a lot</p>



<a name="180864088"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180864088" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180864088">(Nov 15 2019 at 19:31)</a>:</h4>
<p>yeah, you meant with different threads=N values?</p>



<a name="180864099"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180864099" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180864099">(Nov 15 2019 at 19:31)</a>:</h4>
<p>I've done it with a bunch of values</p>



<a name="180864178"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180864178" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180864178">(Nov 15 2019 at 19:32)</a>:</h4>
<p>my idea was to keep pasting the output but I got stuck for a couple of minutes trying to run perf</p>



<a name="180864186"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180864186" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180864186">(Nov 15 2019 at 19:32)</a>:</h4>
<div class="codehilite"><pre><span></span>Error:  No permissions to read /sys/kernel/debug/tracing/events/raw_syscalls/sys_(enter|exit)
Hint:   Try &#39;sudo mount -o remount,mode=755 /sys/kernel/debug/tracing/&#39;
</pre></div>



<a name="180864194"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180864194" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180864194">(Nov 15 2019 at 19:32)</a>:</h4>
<p>can just do as root :P</p>



<a name="180864597"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180864597" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180864597">(Nov 15 2019 at 19:37)</a>:</h4>
<p>I guess I'm going to paste this in a document as you did <span class="user-mention" data-user-id="116015">@Alex Crichton</span> otherwise would be complicated to follow</p>



<a name="180874134"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180874134" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180874134">(Nov 15 2019 at 21:31)</a>:</h4>
<p>unfortunately my perf installation is segfaulting when running perf trace</p>



<a name="180874149"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180874149" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180874149">(Nov 15 2019 at 21:31)</a>:</h4>
<p>have reported an issue</p>



<a name="180874478"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/180874478" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#180874478">(Nov 15 2019 at 21:36)</a>:</h4>
<p>gonna try building it from source code</p>



<a name="181041425"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041425" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041425">(Nov 18 2019 at 18:22)</a>:</h4>
<p>so  <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span></p>



<a name="181041504"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041504" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041504">(Nov 18 2019 at 18:23)</a>:</h4>
<p>yeah so here's the thing</p>



<a name="181041512"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041512" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041512">(Nov 18 2019 at 18:24)</a>:</h4>
<p>rustc-rayon is itself a fork of upstream rayon</p>



<a name="181041573"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041573" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041573">(Nov 18 2019 at 18:24)</a>:</h4>
<p>it has some number of commits relative to the base rayon</p>



<a name="181041586"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041586" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041586">(Nov 18 2019 at 18:24)</a>:</h4>
<p>I <em>think</em> what we want to do is to rebase those commits atop my branch</p>



<a name="181041608"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041608" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041608">(Nov 18 2019 at 18:24)</a>:</h4>
<p>this probably will generate some conflicts, I realize now, since I massively overhauled the sleep module</p>



<a name="181041627"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041627" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041627">(Nov 18 2019 at 18:24)</a>:</h4>
<p>the other option would be to rebase my branch (squashed) atop rustc-rayon, but I think that will be harder</p>



<a name="181041669"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041669" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041669">(Nov 18 2019 at 18:25)</a>:</h4>
<p>yeah, the second thing was what I was going after</p>



<a name="181041720"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041720" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041720">(Nov 18 2019 at 18:26)</a>:</h4>
<p>but I've realized that yeah, I have no idea how different are <code>nikomatsakis/rayon</code> with <code>rust-lang/rustc-rayon</code></p>



<a name="181041848"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041848" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041848">(Nov 18 2019 at 18:27)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I can do whatever you prefer</p>



<a name="181041869"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041869" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041869">(Nov 18 2019 at 18:27)</a>:</h4>
<p>rust-lang/rustc-rayon should be <em>relatively</em> recent</p>



<a name="181041881"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041881" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041881">(Nov 18 2019 at 18:27)</a>:</h4>
<p><span class="user-mention" data-user-id="138448">@cuviper</span> rebased it fairly recently</p>



<a name="181041887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041887">(Nov 18 2019 at 18:27)</a>:</h4>
<p>I'm not sure how is the process we follow with rustc-rayon</p>



<a name="181041963"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041963" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041963">(Nov 18 2019 at 18:28)</a>:</h4>
<p>I can also rebase rustc-rayon atop rayon first</p>



<a name="181041965"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041965" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041965">(Nov 18 2019 at 18:28)</a>:</h4>
<p>hmm</p>



<a name="181041970"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041970" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041970">(Nov 18 2019 at 18:28)</a>:</h4>
<p>I wonder how out of date <em>my</em> branch is :)</p>



<a name="181041971"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041971" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041971">(Nov 18 2019 at 18:28)</a>:</h4>
<p>and then do the rest</p>



<a name="181041982"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041982" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041982">(Nov 18 2019 at 18:28)</a>:</h4>
<p>relative to base rayon</p>



<a name="181041989"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041989" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041989">(Nov 18 2019 at 18:28)</a>:</h4>
<p>I'm also somewhat...unclear if this will actually <em>help</em></p>



<a name="181041992"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181041992" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181041992">(Nov 18 2019 at 18:28)</a>:</h4>
<p>I guess it's worth a try</p>



<a name="181042002"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042002" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042002">(Nov 18 2019 at 18:28)</a>:</h4>
<p>it seems like there are 100 extra commits</p>



<a name="181042012"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042012" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042012">(Nov 18 2019 at 18:28)</a>:</h4>
<p>oh yeah but the real question is</p>



<a name="181042017"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042017" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042017">(Nov 18 2019 at 18:28)</a>:</h4>
<p>what it's based atop</p>



<a name="181042026"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042026" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042026">(Nov 18 2019 at 18:28)</a>:</h4>
<p>so 100 commits that are not in sync with rustc-rayon besides the stuff you added</p>



<a name="181042030"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042030" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042030">(Nov 18 2019 at 18:29)</a>:</h4>
<p>I don't think I ever rebased it, but rayon changes slowly</p>



<a name="181042054"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042054" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042054">(Nov 18 2019 at 18:29)</a>:</h4>
<p>one way I expect it to help is that more targeted wakeups should reduce jobserver traffic</p>



<a name="181042058"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042058" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042058">(Nov 18 2019 at 18:29)</a>:</h4>
<p>oh you mean it's 100 commits "behind" rayon-rs:master?</p>



<a name="181042060"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042060" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042060">(Nov 18 2019 at 18:29)</a>:</h4>
<p>instead of storming all threads</p>



<a name="181042095"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042095" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042095">(Nov 18 2019 at 18:29)</a>:</h4>
<blockquote>
<p>one way I expect it to help is that more targeted wakeups should reduce jobserver traffic</p>
</blockquote>
<p>we cerainly wake up fewer things; we may also transition between sleeping/waking faster, not sure if that helps</p>



<a name="181042200"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042200" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042200">(Nov 18 2019 at 18:30)</a>:</h4>
<blockquote>
<p>oh you mean it's 100 commits "behind" rayon-rs:master?</p>
</blockquote>
<p>no there are 100 commits that rustc-rayon lacks</p>



<a name="181042220"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042220" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042220">(Nov 18 2019 at 18:30)</a>:</h4>
<p>not including my branch, you mean</p>



<a name="181042232"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042232" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042232">(Nov 18 2019 at 18:30)</a>:</h4>
<p>exactly</p>



<a name="181042235"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042235" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042235">(Nov 18 2019 at 18:30)</a>:</h4>
<p><a href="https://github.com/rayon-rs/rayon/compare/master...nikomatsakis:latch-target-thread" target="_blank" title="https://github.com/rayon-rs/rayon/compare/master...nikomatsakis:latch-target-thread">https://github.com/rayon-rs/rayon/compare/master...nikomatsakis:latch-target-thread</a><br>
<a href="https://github.com/rayon-rs/rayon/compare/master...rust-lang:rustc" target="_blank" title="https://github.com/rayon-rs/rayon/compare/master...rust-lang:rustc">https://github.com/rayon-rs/rayon/compare/master...rust-lang:rustc</a></p>



<a name="181042324"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042324" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042324">(Nov 18 2019 at 18:31)</a>:</h4>
<p>even github says rustc-rayon is "6 commits ahead, 18 commits behind rayon-rs:master", so I'm not sure where you get 100</p>



<a name="181042329"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042329" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042329">(Nov 18 2019 at 18:32)</a>:</h4>
<p>yeah</p>



<a name="181042355"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042355" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042355">(Nov 18 2019 at 18:32)</a>:</h4>
<p>I was going to do so</p>



<a name="181042396"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042396" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042396">(Nov 18 2019 at 18:32)</a>:</h4>
<p>but this is what I'm talking about <a href="https://github.com/rust-lang/rustc-rayon/compare/master...nikomatsakis:master" target="_blank" title="https://github.com/rust-lang/rustc-rayon/compare/master...nikomatsakis:master">https://github.com/rust-lang/rustc-rayon/compare/master...nikomatsakis:master</a></p>



<a name="181042397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042397">(Nov 18 2019 at 18:32)</a>:</h4>
<p>130 commits</p>



<a name="181042449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042449">(Nov 18 2019 at 18:32)</a>:</h4>
<p>so when I try to put nikomatsakis:latch-target-thread on top of rustc-rayon master we have around 200</p>



<a name="181042468"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042468" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042468">(Nov 18 2019 at 18:33)</a>:</h4>
<p>why are you using niko's master? that's just plain old</p>



<a name="181042501"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042501" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042501">(Nov 18 2019 at 18:33)</a>:</h4>
<p>yeah, nikomatsakis:master isn't really an interesting branch -- although I think it does happen to be the "merge-base" of latch-target-thread and rayon-rs:master</p>



<a name="181042514"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042514" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042514">(Nov 18 2019 at 18:33)</a>:</h4>
<p>ahh your branch started from rayon-rs:master</p>



<a name="181042648"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042648" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042648">(Nov 18 2019 at 18:34)</a>:</h4>
<p><a href="https://github.com/rust-lang/rustc-rayon/compare/master...rayon-rs:master" target="_blank" title="https://github.com/rust-lang/rustc-rayon/compare/master...rayon-rs:master">https://github.com/rust-lang/rustc-rayon/compare/master...rayon-rs:master</a></p>



<a name="181042664"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042664" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042664">(Nov 18 2019 at 18:35)</a>:</h4>
<p>this is the comparison we are talking about then?</p>



<a name="181042697"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042697" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042697">(Nov 18 2019 at 18:35)</a>:</h4>
<p>ahhh the branch is called rustc</p>



<a name="181042719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042719">(Nov 18 2019 at 18:35)</a>:</h4>
<p>ah yeah :)</p>



<a name="181042722"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042722" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042722">(Nov 18 2019 at 18:35)</a>:</h4>
<p>the default branch is rustc on <code>rust-lang/rustc-rayon</code></p>



<a name="181042727"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042727" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042727">(Nov 18 2019 at 18:36)</a>:</h4>
<p>I remember that now...</p>



<a name="181042773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042773">(Nov 18 2019 at 18:36)</a>:</h4>
<p>that was why I was getting zillions of commits</p>



<a name="181042774"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042774" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042774">(Nov 18 2019 at 18:36)</a>:</h4>
<p>cool :)</p>



<a name="181042818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042818">(Nov 18 2019 at 18:36)</a>:</h4>
<p>ok, <span class="user-mention" data-user-id="116009">@nikomatsakis</span> what you prefer me to do then?</p>



<a name="181042869"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042869" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042869">(Nov 18 2019 at 18:37)</a>:</h4>
<p>I can first add the missing commits from rayon-rs/rayon:master to rust-lang/rustc-rayon:rustc</p>



<a name="181042901"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042901" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042901">(Nov 18 2019 at 18:37)</a>:</h4>
<p>and then add your branch on top of rust-lang/rustc-rayon:rustc</p>



<a name="181042940"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042940" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042940">(Nov 18 2019 at 18:38)</a>:</h4>
<p>hmm yes so probably rebasing atop rayon-rs:master is a good first step</p>



<a name="181042986"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042986" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042986">(Nov 18 2019 at 18:38)</a>:</h4>
<p>well</p>



<a name="181042997"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181042997" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181042997">(Nov 18 2019 at 18:38)</a>:</h4>
<p>I think I would just rebase directly to nikomatsakis:latch-target-thread</p>



<a name="181043017"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181043017" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181043017">(Nov 18 2019 at 18:38)</a>:</h4>
<p>given that this branch is <em>itself</em> behind rayon-rs:master</p>



<a name="181043022"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181043022" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181043022">(Nov 18 2019 at 18:38)</a>:</h4>
<p><span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>



<a name="181043026"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181043026" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181043026">(Nov 18 2019 at 18:38)</a>:</h4>
<p>ok</p>



<a name="181045581"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181045581" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181045581">(Nov 18 2019 at 19:06)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> <span class="user-mention" data-user-id="138448">@cuviper</span> I imagine that after this commit <a href="https://github.com/rayon-rs/rayon/commit/4dbd63b788cda2b9f8520da3b0cd41cdcd043294" target="_blank" title="https://github.com/rayon-rs/rayon/commit/4dbd63b788cda2b9f8520da3b0cd41cdcd043294">https://github.com/rayon-rs/rayon/commit/4dbd63b788cda2b9f8520da3b0cd41cdcd043294</a> we don't want <code>SleepData</code>, that structure is only in <code>rustc-rayon</code> and not in <code>rayon</code></p>



<a name="181045759"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181045759" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181045759">(Nov 18 2019 at 19:08)</a>:</h4>
<p>sorry, I think I've just confused myself</p>



<a name="181045763"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181045763" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181045763">(Nov 18 2019 at 19:08)</a>:</h4>
<p>let me recheck</p>



<a name="181046244"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181046244" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181046244">(Nov 18 2019 at 19:13)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> <span class="user-mention" data-user-id="138448">@cuviper</span> yeah, what I've said is right</p>



<a name="181046294"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181046294" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181046294">(Nov 18 2019 at 19:14)</a>:</h4>
<p>talking about this <a href="https://github.com/rust-lang/rustc-rayon/blob/rustc/rayon-core/src/sleep/mod.rs#L12" target="_blank" title="https://github.com/rust-lang/rustc-rayon/blob/rustc/rayon-core/src/sleep/mod.rs#L12">https://github.com/rust-lang/rustc-rayon/blob/rustc/rayon-core/src/sleep/mod.rs#L12</a></p>



<a name="181046487"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181046487" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181046487">(Nov 18 2019 at 19:16)</a>:</h4>
<p>I guess that's kind of the point of <a href="https://github.com/rayon-rs/rayon/commit/4dbd63b788cda2b9f8520da3b0cd41cdcd043294" target="_blank" title="https://github.com/rayon-rs/rayon/commit/4dbd63b788cda2b9f8520da3b0cd41cdcd043294">https://github.com/rayon-rs/rayon/commit/4dbd63b788cda2b9f8520da3b0cd41cdcd043294</a> and we should remove <code>SleepData</code></p>



<a name="181046557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181046557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181046557">(Nov 18 2019 at 19:17)</a>:</h4>
<p>it also has a deadlock_check function that I'm not sure if it's covered on Niko's branch</p>



<a name="181047418"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181047418" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181047418">(Nov 18 2019 at 19:26)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> let me look briefly..</p>



<a name="181047484"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181047484" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181047484">(Nov 18 2019 at 19:27)</a>:</h4>
<p>ok so --</p>



<a name="181047494"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181047494" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181047494">(Nov 18 2019 at 19:27)</a>:</h4>
<p>hmm</p>



<a name="181047496"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181047496" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181047496">(Nov 18 2019 at 19:27)</a>:</h4>
<p>:)</p>



<a name="181047572"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181047572" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181047572">(Nov 18 2019 at 19:28)</a>:</h4>
<p>ok so the deadlock checking in rustc-rayon</p>



<a name="181047599"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181047599" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181047599">(Nov 18 2019 at 19:28)</a>:</h4>
<p>I'm trying to remember but I think there is some callback by which a thread says "I'm blocked now"</p>



<a name="181047607"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181047607" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181047607">(Nov 18 2019 at 19:28)</a>:</h4>
<p>and the idea is that if all threads are either blocked or asleep</p>



<a name="181047612"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181047612" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181047612">(Nov 18 2019 at 19:28)</a>:</h4>
<p>we can trigger the deadlock callback</p>



<a name="181047661"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181047661" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181047661">(Nov 18 2019 at 19:29)</a>:</h4>
<p>one quick check, <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span>, you are rebasing the rustc-rayon commits atop the branch, right?</p>



<a name="181047669"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181047669" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181047669">(Nov 18 2019 at 19:29)</a>:</h4>
<p>i.e., you're not rebasing all the branch commits</p>



<a name="181047757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181047757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181047757">(Nov 18 2019 at 19:30)</a>:</h4>
<blockquote>
<p>we can trigger the deadlock callback</p>
</blockquote>
<p>registry::{mark_blocked, mark_unblocked} ?</p>



<a name="181047810"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181047810" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181047810">(Nov 18 2019 at 19:30)</a>:</h4>
<blockquote>
<p>one quick check, <span class="user-mention silent" data-user-id="116266">Santiago Pastorino</span>, you are rebasing the rustc-rayon commits atop the branch, right?</p>
</blockquote>
<p>I'm rebasing rustc's branch of rustc-rayon atop your branch</p>



<a name="181047841"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181047841" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181047841">(Nov 18 2019 at 19:31)</a>:</h4>
<p>so, to be 100% clear, I'm on your branch</p>



<a name="181047856"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181047856" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181047856">(Nov 18 2019 at 19:31)</a>:</h4>
<p>and did <code>git rebase rustc-rayon/rustc</code></p>



<a name="181047898"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181047898" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181047898">(Nov 18 2019 at 19:32)</a>:</h4>
<p>that is going to place your commits on top of <code>rustc-rayon/rustc</code></p>



<a name="181048094"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048094" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048094">(Nov 18 2019 at 19:34)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> trying to understand what would be the idea, so from what you're saying I guess we would need to keep all that <code>SleepData</code> stuff?</p>



<a name="181048255"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048255" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048255">(Nov 18 2019 at 19:35)</a>:</h4>
<p>I'm mainly wondering how much of rebasing of things is and how much of things work a bit differently we need to rewrite parts of the code and adapt things in a deeper way</p>



<a name="181048392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048392">(Nov 18 2019 at 19:37)</a>:</h4>
<p>if it's rebasing I guess I can easily get this working, but if I need to do major surgery I may need to start understanding deeper how things work</p>



<a name="181048398"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048398" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048398">(Nov 18 2019 at 19:37)</a>:</h4>
<blockquote>
<p>that is going to place your commits on top of <code>rustc-rayon/rustc</code></p>
</blockquote>
<p>I'm confused</p>



<a name="181048399"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048399" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048399">(Nov 18 2019 at 19:37)</a>:</h4>
<p>this is the command you executed?</p>



<a name="181048416"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048416" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048416">(Nov 18 2019 at 19:37)</a>:</h4>
<p>if so, I think you're in for a world of trouble :)</p>



<a name="181048426"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048426" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048426">(Nov 18 2019 at 19:37)</a>:</h4>
<blockquote>
<p>I'm mainly wondering how much of rebasing of things is and how much of things work a bit differently we need to rewrite parts of the code and adapt things in a deeper way</p>
</blockquote>
<p>I think we're going to have to do some deeper edits, yeah, I may have underestimated how much work it would be</p>



<a name="181048492"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048492" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048492">(Nov 18 2019 at 19:38)</a>:</h4>
<p>maybe I should just put a bit of time into it -- or we could  share screens</p>



<a name="181048502"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048502" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048502">(Nov 18 2019 at 19:38)</a>:</h4>
<p>(that could, indeed, be the parallel rustc meeting...)</p>



<a name="181048522"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048522" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048522">(Nov 18 2019 at 19:38)</a>:</h4>
<blockquote>
<p>if so, I think you're in for a world of trouble :)</p>
</blockquote>
<p>why?</p>



<a name="181048533"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048533" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048533">(Nov 18 2019 at 19:38)</a>:</h4>
<p>unsure I'm understanding :)</p>



<a name="181048563"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048563" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048563">(Nov 18 2019 at 19:39)</a>:</h4>
<blockquote>
<p>(that could, indeed, be the parallel rustc meeting...)</p>
</blockquote>
<p>definitely I can open tmux or something and share the current state of things</p>



<a name="181048601"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048601" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048601">(Nov 18 2019 at 19:39)</a>:</h4>
<blockquote>
<blockquote>
<p>if so, I think you're in for a world of trouble :)</p>
</blockquote>
<p>why?</p>
</blockquote>
<p>didn't we want your commits on top of rustc-rayon's ones?</p>



<a name="181048670"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048670" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048670">(Nov 18 2019 at 19:40)</a>:</h4>
<p>and indeed I got just a few unsynced from rayon-rs/rayon:master and then yours</p>



<a name="181048837"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048837" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048837">(Nov 18 2019 at 19:42)</a>:</h4>
<blockquote>
<p>didn't we want your commits on top of rustc-rayon's ones?</p>
</blockquote>
<p>no, I think we want <em>rustc-rayon's</em> commits atop my branch</p>



<a name="181048840"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048840" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048840">(Nov 18 2019 at 19:42)</a>:</h4>
<p>mainly because</p>



<a name="181048844"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048844" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048844">(Nov 18 2019 at 19:42)</a>:</h4>
<p>there was like 6 rustc-rayon commits</p>



<a name="181048852"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048852" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048852">(Nov 18 2019 at 19:42)</a>:</h4>
<p>and the branch has a very untidy, windy history</p>



<a name="181048861"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048861" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048861">(Nov 18 2019 at 19:42)</a>:</h4>
<p>I mean I could squash the branch too</p>



<a name="181048879"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048879" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048879">(Nov 18 2019 at 19:43)</a>:</h4>
<p>but .. in general we've been rebasing rustc-rayon atop rayon</p>



<a name="181048901"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048901" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048901">(Nov 18 2019 at 19:43)</a>:</h4>
<blockquote>
<p>definitely I can open tmux or something and share the current state of things</p>
</blockquote>
<p>maybe we try this in a bit?</p>



<a name="181048987"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048987" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048987">(Nov 18 2019 at 19:44)</a>:</h4>
<p>yes</p>



<a name="181048991"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181048991" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181048991">(Nov 18 2019 at 19:44)</a>:</h4>
<p>at the meeting time?</p>



<a name="181049007"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181049007" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181049007">(Nov 18 2019 at 19:44)</a>:</h4>
<p>which is in ~ 15 minutes from now</p>



<a name="181056832"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181056832" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181056832">(Nov 18 2019 at 21:14)</a>:</h4>
<p><span class="user-mention" data-user-id="116015">@Alex Crichton</span> I've just pushed a rayon branch and a compiler branch that uses it</p>



<a name="181056906"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181056906" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181056906">(Nov 18 2019 at 21:15)</a>:</h4>
<p>Nice! The next steps would be to send that as a PR to rust-lang/rust and then run @bors: try</p>



<a name="181057074"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181057074" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181057074">(Nov 18 2019 at 21:16)</a>:</h4>
<p>does that already run in parallel mode?</p>



<a name="181057096"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181057096" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181057096">(Nov 18 2019 at 21:17)</a>:</h4>
<p>I thought you needed to do something with it</p>



<a name="181057326"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181057326" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181057326">(Nov 18 2019 at 21:19)</a>:</h4>
<p><span class="user-mention" data-user-id="116015">@Alex Crichton</span> <span aria-label="point up" class="emoji emoji-1f446" role="img" title="point up">:point_up:</span></p>



<a name="181057423"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181057423" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181057423">(Nov 18 2019 at 21:20)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> yeah, that'll produce parallel artifacts on the alt commit</p>



<a name="181057439"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181057439" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181057439">(Nov 18 2019 at 21:20)</a>:</h4>
<p>Not sure if we want non-alt parallel artifacts (i.e., fast ones)</p>



<a name="181057452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181057452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181057452">(Nov 18 2019 at 21:20)</a>:</h4>
<p>ahhh ok</p>



<a name="181057483"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181057483" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181057483">(Nov 18 2019 at 21:20)</a>:</h4>
<p>well, done here <a href="https://github.com/rust-lang/rust/pull/66527" target="_blank" title="https://github.com/rust-lang/rust/pull/66527">https://github.com/rust-lang/rust/pull/66527</a></p>



<a name="181057518"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181057518" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181057518">(Nov 18 2019 at 21:21)</a>:</h4>
<p>probably? then you'll want to comment these two lines: <a href="https://github.com/rust-lang/rust/blob/a0d40f8bdfcc3c28355467973f97fd4c45ac5876/src/ci/run.sh#L61-L62" target="_blank" title="https://github.com/rust-lang/rust/blob/a0d40f8bdfcc3c28355467973f97fd4c45ac5876/src/ci/run.sh#L61-L62">https://github.com/rust-lang/rust/blob/a0d40f8bdfcc3c28355467973f97fd4c45ac5876/src/ci/run.sh#L61-L62</a></p>



<a name="181057544"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181057544" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181057544">(Nov 18 2019 at 21:21)</a>:</h4>
<p>depends on the diffs we ran last time</p>



<a name="181057712"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181057712" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181057712">(Nov 18 2019 at 21:23)</a>:</h4>
<p>ahh so should I stop the try run?</p>



<a name="181068421"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181068421" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181068421">(Nov 18 2019 at 23:43)</a>:</h4>
<p>nah, this is fine too</p>



<a name="181068422"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181068422" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181068422">(Nov 18 2019 at 23:43)</a>:</h4>
<p>good to have both</p>



<a name="181109555"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181109555" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181109555">(Nov 19 2019 at 13:16)</a>:</h4>
<p><span class="user-mention" data-user-id="116015">@Alex Crichton</span> <span class="user-mention" data-user-id="116122">@simulacrum</span> what else with <a href="https://github.com/rust-lang/rust/pull/66527" target="_blank" title="https://github.com/rust-lang/rust/pull/66527">https://github.com/rust-lang/rust/pull/66527</a> ?</p>



<a name="181109568"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181109568" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181109568">(Nov 19 2019 at 13:16)</a>:</h4>
<p>I'm not sure I understood the process we are following the get perf results</p>



<a name="181109585"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181109585" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181109585">(Nov 19 2019 at 13:16)</a>:</h4>
<p>there are tidy failures but I guess we don't need to bother fixing those</p>



<a name="181109612"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181109612" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181109612">(Nov 19 2019 at 13:17)</a>:</h4>
<p>I don't think tidy failures matter, yes</p>



<a name="181109631"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181109631" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181109631">(Nov 19 2019 at 13:17)</a>:</h4>
<p>I imagine Alex can go bench now? We can also get a try build with parallel but not, uh, llvm asserting</p>



<a name="181109643"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181109643" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181109643">(Nov 19 2019 at 13:17)</a>:</h4>
<p>but I think that's not actually too useful for the kind of benchmarking we've been doing</p>



<a name="181111045"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181111045" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181111045">(Nov 19 2019 at 13:35)</a>:</h4>
<p>ok, let's see what <span class="user-mention" data-user-id="116015">@Alex Crichton</span> says then :)</p>



<a name="181120774"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181120774" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181120774">(Nov 19 2019 at 15:19)</a>:</h4>
<p>Looks like the binaries don't work I think <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span></p>



<a name="181120783"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181120783" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181120783">(Nov 19 2019 at 15:19)</a>:</h4>
<p><code>rm -rf target &amp;&amp; RUSTFLAGS=-Zthreads=28 cargo +540c0b9a1aea77a85ec449623ce5c509f0833899-alt check</code></p>



<a name="181120787"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181120787" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181120787">(Nov 19 2019 at 15:19)</a>:</h4>
<p>that instantly deadlocks</p>



<a name="181120976"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181120976" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181120976">(Nov 19 2019 at 15:21)</a>:</h4>
<p>:S</p>



<a name="181121267"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181121267" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181121267">(Nov 19 2019 at 15:24)</a>:</h4>
<p>cc <span class="user-mention" data-user-id="116009">@nikomatsakis</span></p>



<a name="181121591"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181121591" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181121591">(Nov 19 2019 at 15:26)</a>:</h4>
<p>got me :)</p>



<a name="181121602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181121602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181121602">(Nov 19 2019 at 15:26)</a>:</h4>
<p>I can try to look later maybe tho</p>



<a name="181121615"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181121615" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181121615">(Nov 19 2019 at 15:26)</a>:</h4>
<p>there's probably some bugs introducd by the rebase I guess</p>



<a name="181122118"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181122118" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181122118">(Nov 19 2019 at 15:31)</a>:</h4>
<p>I can try the rebase again and check if I find something weird</p>



<a name="181124325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181124325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181124325">(Nov 19 2019 at 15:50)</a>:</h4>
<p>hm,  that seems surprising</p>



<a name="181124343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181124343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181124343">(Nov 19 2019 at 15:50)</a>:</h4>
<p>oh, I guess when we're doing it in-tree we only have the one thread</p>



<a name="181128201"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181128201" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181128201">(Nov 19 2019 at 16:22)</a>:</h4>
<p>I will say that the latch-target-thread branch may well be buggy</p>



<a name="181128214"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181128214" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181128214">(Nov 19 2019 at 16:22)</a>:</h4>
<p>I wonder if we should discuss a bit</p>



<a name="181128225"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181128225" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181128225">(Nov 19 2019 at 16:23)</a>:</h4>
<p>what we would do if we did <em>not</em> use rayon</p>



<a name="181128268"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181128268" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181128268">(Nov 19 2019 at 16:23)</a>:</h4>
<p>created a topic for it</p>



<a name="181136142"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181136142" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181136142">(Nov 19 2019 at 17:45)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> <span class="user-mention" data-user-id="116122">@simulacrum</span> what would this <a href="https://github.com/spastorino/rustc-rayon/commit/70bb40ed4e2a04b95c9c6d0a05ad8718dc9b2d06" target="_blank" title="https://github.com/spastorino/rustc-rayon/commit/70bb40ed4e2a04b95c9c6d0a05ad8718dc9b2d06">https://github.com/spastorino/rustc-rayon/commit/70bb40ed4e2a04b95c9c6d0a05ad8718dc9b2d06</a> be useful for if we do not implement <code>mark_blocked</code> and <code>mark_unblocked</code>?</p>



<a name="181136156"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181136156" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181136156">(Nov 19 2019 at 17:45)</a>:</h4>
<p>wouldn't be better to just skip the commit for now?</p>



<a name="181136178"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181136178" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181136178">(Nov 19 2019 at 17:45)</a>:</h4>
<p>should be able to, yeah</p>



<a name="181136248"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181136248" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181136248">(Nov 19 2019 at 17:46)</a>:</h4>
<p>I guess it would be simpler</p>



<a name="181136269"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181136269" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181136269">(Nov 19 2019 at 17:46)</a>:</h4>
<p>but yeah, anyway that part rebase shouldn't be causing the problem anyway</p>



<a name="181139257"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181139257" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181139257">(Nov 19 2019 at 18:19)</a>:</h4>
<p>after rebasing again all the differences I've found are that commit which I've removed now</p>



<a name="181139305"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181139305" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181139305">(Nov 19 2019 at 18:20)</a>:</h4>
<p>and this difference ...</p>



<a name="181139312"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181139312" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181139312">(Nov 19 2019 at 18:20)</a>:</h4>
<p><a href="https://github.com/spastorino/rustc-rayon/commit/807a281581a1a998337fc35ac00ffaea5af0e655#diff-19c860748b8faafc557a11db2d185bd9R909" target="_blank" title="https://github.com/spastorino/rustc-rayon/commit/807a281581a1a998337fc35ac00ffaea5af0e655#diff-19c860748b8faafc557a11db2d185bd9R909">https://github.com/spastorino/rustc-rayon/commit/807a281581a1a998337fc35ac00ffaea5af0e655#diff-19c860748b8faafc557a11db2d185bd9R909</a></p>



<a name="181139313"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181139313" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181139313">(Nov 19 2019 at 18:20)</a>:</h4>
<p>vs</p>



<a name="181139319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181139319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181139319">(Nov 19 2019 at 18:20)</a>:</h4>
<p><a href="https://github.com/spastorino/rustc-rayon/commit/64a886ed6c099677dc8fbde580f6294f7763609e#diff-19c860748b8faafc557a11db2d185bd9R884" target="_blank" title="https://github.com/spastorino/rustc-rayon/commit/64a886ed6c099677dc8fbde580f6294f7763609e#diff-19c860748b8faafc557a11db2d185bd9R884">https://github.com/spastorino/rustc-rayon/commit/64a886ed6c099677dc8fbde580f6294f7763609e#diff-19c860748b8faafc557a11db2d185bd9R884</a></p>



<a name="181139325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181139325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181139325">(Nov 19 2019 at 18:20)</a>:</h4>
<p>but I don't think that matters</p>



<a name="181139388"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181139388" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181139388">(Nov 19 2019 at 18:21)</a>:</h4>
<p>basically if <code>acquire_thread</code> should wrap ...</p>



<a name="181139391"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181139391" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181139391">(Nov 19 2019 at 18:21)</a>:</h4>
<div class="codehilite"><pre><span></span><span class="w">    </span><span class="kd">let</span><span class="w"> </span><span class="n">my_terminate_latch</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">&amp;</span><span class="n">registry</span><span class="p">.</span><span class="n">thread_infos</span><span class="p">[</span><span class="n">index</span><span class="p">].</span><span class="n">terminate</span><span class="p">;</span><span class="w"></span>
<span class="w">    </span><span class="n">worker_thread</span><span class="p">.</span><span class="n">log</span><span class="p">(</span><span class="o">||</span><span class="w"> </span><span class="n">ThreadStart</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="n">worker</span>: <span class="nc">index</span><span class="p">,</span><span class="w"></span>
<span class="w">        </span><span class="n">terminate_addr</span>: <span class="nc">my_terminate_latch</span><span class="p">.</span><span class="n">as_core_latch</span><span class="p">().</span><span class="n">addr</span><span class="p">(),</span><span class="w"></span>
<span class="w">    </span><span class="p">});</span><span class="w"></span>
</pre></div>



<a name="181139397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181139397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181139397">(Nov 19 2019 at 18:21)</a>:</h4>
<p>or not</p>



<a name="181139709"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181139709" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181139709">(Nov 19 2019 at 18:25)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> just in case you want to check this ^^^</p>



<a name="181141570"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181141570" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181141570">(Nov 19 2019 at 18:44)</a>:</h4>
<p>more info ...</p>



<a name="181141596"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181141596" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181141596">(Nov 19 2019 at 18:44)</a>:</h4>
<div class="codehilite"><pre><span></span> 3:37 PM

#0  0x00007fddfbe35c45 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007fddfe3afb17 in rustc_rayon_core::latch::LockLatch::wait () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#2  0x00007fddfe3b0598 in rustc_rayon_core::thread_pool::ThreadPool::wait_until_stopped () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#3  0x00007fddfc41a202 in &lt;std::panic::AssertUnwindSafe&lt;F&gt; as core::ops::function::FnOnce&lt;()&gt;&gt;::call_once ()
   from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#4  0x00007fddfc3f3dae in std::panicking::try::do_call () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#5  0x00007fddfbefcf6a in __rust_maybe_catch_panic () at src/libpanic_unwind/lib.rs:81
#6  0x00007fddfc41cc41 in crossbeam_utils::thread::scope () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#7  0x00007fddfc423d93 in scoped_tls::ScopedKey&lt;T&gt;::set () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#8  0x00007fddfc401f64 in syntax::with_globals () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#9  0x00007fddfc43cb60 in rustc_interface::util::spawn_thread_pool () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#10 0x00007fddfc3d0020 in rustc_driver::run_compiler () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#11 0x00007fddfc41a9a4 in &lt;std::panic::AssertUnwindSafe&lt;F&gt; as core::ops::function::FnOnce&lt;()&gt;&gt;::call_once ()
   from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#12 0x00007fddfc3f3f4c in std::panicking::try::do_call () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#13 0x00007fddfbefcf6a in __rust_maybe_catch_panic () at src/libpanic_unwind/lib.rs:81
#14 0x00007fddfc3d5999 in rustc_driver::catch_fatal_errors () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#15 0x00007fddfc3d6ab1 in rustc_driver::main () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#16 0x000055f21eb61423 in std::rt::lang_start::{{closure}} ()
#17 0x00007fddfbeebfd3 in std::rt::lang_start_internal::{{closure}} () at src/libstd/rt.rs:48
#18 std::panicking::try::do_call () at src/libstd/panicking.rs:287
#19 0x00007fddfbefcf6a in __rust_maybe_catch_panic () at src/libpanic_unwind/lib.rs:81
#20 0x00007fddfbeecb4d in std::panicking::try () at src/libstd/panicking.rs:265
#21 std::panic::catch_unwind () at src/libstd/panic.rs:395
#22 std::rt::lang_start_internal () at src/libstd/rt.rs:47
#23 0x000055f21eb61412 in main ()
</pre></div>



<a name="181142732"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181142732" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181142732">(Nov 19 2019 at 18:56)</a>:</h4>
<p>well maybe I should add more threads</p>



<a name="181142734"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181142734" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181142734">(Nov 19 2019 at 18:56)</a>:</h4>
<div class="codehilite"><pre><span></span>(gdb) bt
#0  0x00007f0abb827c45 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f0abdda6f02 in rustc_rayon_core::sleep::Sleep::sleep () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#2  0x00007f0abdda5f13 in rustc_rayon_core::registry::WorkerThread::wait_until_cold () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#3  0x00007f0abdda3e33 in rustc_rayon_core::registry::ThreadBuilder::run () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#4  0x00007f0abbe163f9 in scoped_tls::ScopedKey&lt;T&gt;::set () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#5  0x00007f0abbe10cd9 in std::thread::local::LocalKey&lt;T&gt;::with () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#6  0x00007f0abbe16650 in scoped_tls::ScopedKey&lt;T&gt;::set () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#7  0x00007f0abbe0e5e7 in crossbeam_utils::thread::ScopedThreadBuilder::spawn::{{closure}} () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#8  0x00007f0abbe178eb in std::sys_common::backtrace::__rust_begin_short_backtrace () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#9  0x00007f0abb8eef6a in __rust_maybe_catch_panic () at src/libpanic_unwind/lib.rs:81
#10 0x00007f0abbe28799 in core::ops::function::FnOnce::call_once{{vtable-shim}} () from /home/santiago/.rustup/toolchains/540c0b9a1aea77a85ec449623ce5c509f0833899-alt/bin/../lib/librustc_driver-6c2442420060056d.so
#11 0x00007f0abb8bfccf in &lt;alloc::boxed::Box&lt;F&gt; as core::ops::function::FnOnce&lt;A&gt;&gt;::call_once () at /rustc/540c0b9a1aea77a85ec449623ce5c509f0833899/src/liballoc/boxed.rs:942
#12 0x00007f0abb8ed990 in &lt;alloc::boxed::Box&lt;F&gt; as core::ops::function::FnOnce&lt;A&gt;&gt;::call_once () at /rustc/540c0b9a1aea77a85ec449623ce5c509f0833899/src/liballoc/boxed.rs:942
#13 std::sys_common::thread::start_thread () at src/libstd/sys_common/thread.rs:13
#14 std::sys::unix::thread::Thread::new::thread_start () at src/libstd/sys/unix/thread.rs:79
#15 0x00007f0abb8214cf in start_thread () from /usr/lib/libpthread.so.0
#16 0x00007f0abb73e2d3 in clone () from /usr/lib/libc.so.6
</pre></div>



<a name="181142920"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181142920" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181142920">(Nov 19 2019 at 18:58)</a>:</h4>
<p>most threads are locked in Sleep::sleep</p>



<a name="181143359"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181143359" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181143359">(Nov 19 2019 at 19:02)</a>:</h4>
<p>I wonder if the release_thread calls are placed correctly <a href="https://github.com/spastorino/rustc-rayon/commit/64a886ed6c099677dc8fbde580f6294f7763609e#diff-c5cfc0fcc3d66d15f5c96fa0bc58fa93L136" target="_blank" title="https://github.com/spastorino/rustc-rayon/commit/64a886ed6c099677dc8fbde580f6294f7763609e#diff-c5cfc0fcc3d66d15f5c96fa0bc58fa93L136">https://github.com/spastorino/rustc-rayon/commit/64a886ed6c099677dc8fbde580f6294f7763609e#diff-c5cfc0fcc3d66d15f5c96fa0bc58fa93L136</a></p>



<a name="181144712"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181144712" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181144712">(Nov 19 2019 at 19:16)</a>:</h4>
<div class="codehilite"><pre><span></span>   0x00007f0abdda6ee3 &lt;+259&gt;:   callq  *0xb3b8c7(%rip)        # 0x7f0abe8e27b0
   0x00007f0abdda6ee9 &lt;+265&gt;:   mov    (%r12),%rbp
   0x00007f0abdda6eed &lt;+269&gt;:   mov    %rbx,%rdi
   0x00007f0abdda6ef0 &lt;+272&gt;:   callq  *0xb3acb2(%rip)        # 0x7f0abe8e1ba8
   0x00007f0abdda6ef6 &lt;+278&gt;:   mov    %rbp,%rdi
   0x00007f0abdda6ef9 &lt;+281&gt;:   mov    %rax,%rsi
   0x00007f0abdda6efc &lt;+284&gt;:   callq  *0xb3db3e(%rip)        # 0x7f0abe8e4a40
   0x00007f0abdda6f02 &lt;+290&gt;:   movzbl 0x8(%r14),%eax
   0x00007f0abdda6f07 &lt;+295&gt;:   test   %al,%al
   0x00007f0abdda6f09 &lt;+297&gt;:   jne    0x7f0abdda6ff2 &lt;_ZN16rustc_rayon_core5sleep5Sleep5sleep17ha30ef7a045af5111E+530&gt;
   0x00007f0abdda6f0f &lt;+303&gt;:   cmpb   $0x0,0x9(%r14)
   0x00007f0abdda6f14 &lt;+308&gt;:   mov    %r14,%r13
   0x00007f0abdda6f17 &lt;+311&gt;:   jne    0x7f0abdda6ed0 &lt;_ZN16rustc_rayon_core5sleep5Sleep5sleep17ha30ef7a045af5111E+240&gt;
   0x00007f0abdda6f19 &lt;+313&gt;:   mov    %r14,(%rsp)
</pre></div>



<a name="181155829"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181155829" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181155829">(Nov 19 2019 at 21:23)</a>:</h4>
<blockquote>
<p>I wonder if the release_thread calls are placed correctly <a href="https://github.com/spastorino/rustc-rayon/commit/64a886ed6c099677dc8fbde580f6294f7763609e#diff-c5cfc0fcc3d66d15f5c96fa0bc58fa93L136" target="_blank" title="https://github.com/spastorino/rustc-rayon/commit/64a886ed6c099677dc8fbde580f6294f7763609e#diff-c5cfc0fcc3d66d15f5c96fa0bc58fa93L136">https://github.com/spastorino/rustc-rayon/commit/64a886ed6c099677dc8fbde580f6294f7763609e#diff-c5cfc0fcc3d66d15f5c96fa0bc58fa93L136</a></p>
</blockquote>
<p>I think they are correct, <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span></p>



<a name="181155858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181155858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181155858">(Nov 19 2019 at 21:23)</a>:</h4>
<p>right now the release is basically <em>right before</em> we go to sleep</p>



<a name="181155867"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181155867" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181155867">(Nov 19 2019 at 21:24)</a>:</h4>
<p>and the acquire is effectively <em>right after</em></p>



<a name="181155903"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181155903" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181155903">(Nov 19 2019 at 21:24)</a>:</h4>
<p>that seems correct</p>



<a name="181155957"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181155957" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181155957">(Nov 19 2019 at 21:24)</a>:</h4>
<blockquote>
<p>wouldn't be better to just skip the commit for now?</p>
</blockquote>
<p>would be ok, probably doesn't help tho</p>



<a name="181156025"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181156025" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181156025">(Nov 19 2019 at 21:25)</a>:</h4>
<p>I guess I don't really know why it's deadlocking, could well be a bug in the code, or maybe some kind of rebase error</p>



<a name="181156041"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181156041" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181156041">(Nov 19 2019 at 21:26)</a>:</h4>
<p>One thing we could do is to run with the logging enabled</p>



<a name="181156149"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181156149" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181156149">(Nov 19 2019 at 21:27)</a>:</h4>
<p>that would require building with <code>RUSTFLAGS='--cfg rayon_rs_log'</code>, or else altering the branch to enable logs all the time</p>



<a name="181156176"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181156176" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181156176">(Nov 19 2019 at 21:27)</a>:</h4>
<p>the latter is prob easier</p>



<a name="181156266"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181156266" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181156266">(Nov 19 2019 at 21:28)</a>:</h4>
<p>there is a line of code in rayon-core/src/log.rs like</p>
<div class="codehilite"><pre><span></span><span class="k">pub</span><span class="p">(</span><span class="k">super</span><span class="p">)</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">LOG_ENABLED</span>: <span class="kt">bool</span> <span class="o">=</span><span class="w"> </span><span class="n">cfg</span><span class="o">!</span><span class="p">(</span><span class="n">any</span><span class="p">(</span><span class="n">rayon_rs_log</span><span class="p">,</span><span class="w"> </span><span class="n">debug_assertions</span><span class="p">));</span><span class="w"></span>
</pre></div>


<p>which we could change to </p>
<div class="codehilite"><pre><span></span><span class="k">pub</span><span class="p">(</span><span class="k">super</span><span class="p">)</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">LOG_ENABLED</span>: <span class="kt">bool</span> <span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span><span class="w"></span>
</pre></div>



<a name="181156283"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181156283" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181156283">(Nov 19 2019 at 21:28)</a>:</h4>
<p>and then run with <code>RAYON_RS_LOG=tail:killme.csv</code></p>



<a name="181156315"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181156315" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181156315">(Nov 19 2019 at 21:28)</a>:</h4>
<p>that will make a file called <code>killme.csv</code> with the last 10K events or something like that</p>



<a name="181156322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181156322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181156322">(Nov 19 2019 at 21:28)</a>:</h4>
<p>which is usually enough to kind of track what happened</p>



<a name="181156544"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181156544" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181156544">(Nov 19 2019 at 21:31)</a>:</h4>
<p>I could do that</p>



<a name="181156561"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181156561" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181156561">(Nov 19 2019 at 21:31)</a>:</h4>
<p>meanwhile I got some info on exactly where are we deadlocking</p>



<a name="181156623"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181156623" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181156623">(Nov 19 2019 at 21:32)</a>:</h4>
<p>threads are locked in:</p>



<a name="181156624"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181156624" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181156624">(Nov 19 2019 at 21:32)</a>:</h4>
<p><a href="https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/sleep/mod.rs#L206" target="_blank" title="https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/sleep/mod.rs#L206">https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/sleep/mod.rs#L206</a></p>



<a name="181156632"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181156632" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181156632">(Nov 19 2019 at 21:32)</a>:</h4>
<p><a href="https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/registry.rs#L374" target="_blank" title="https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/registry.rs#L374">https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/registry.rs#L374</a></p>



<a name="181156643"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181156643" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181156643">(Nov 19 2019 at 21:32)</a>:</h4>
<p><a href="https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/registry.rs#L543" target="_blank" title="https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/registry.rs#L543">https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/registry.rs#L543</a></p>



<a name="181156649"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181156649" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181156649">(Nov 19 2019 at 21:32)</a>:</h4>
<p><a href="https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/registry.rs#L381" target="_blank" title="https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/registry.rs#L381">https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/registry.rs#L381</a></p>



<a name="181156657"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181156657" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181156657">(Nov 19 2019 at 21:32)</a>:</h4>
<p><a href="https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/sleep/mod.rs#L369" target="_blank" title="https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/sleep/mod.rs#L369">https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/sleep/mod.rs#L369</a></p>



<a name="181157325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181157325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181157325">(Nov 19 2019 at 21:40)</a>:</h4>
<blockquote>
<p><a href="https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/registry.rs#L374" target="_blank" title="https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/registry.rs#L374">https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/registry.rs#L374</a></p>
</blockquote>
<p>huh, that's an interesting one</p>



<a name="181157395"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181157395" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181157395">(Nov 19 2019 at 21:41)</a>:</h4>
<p>ah wait</p>



<a name="181157460"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181157460" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181157460">(Nov 19 2019 at 21:42)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> hmm ok I think I know the problem</p>



<a name="181157474"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181157474" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181157474">(Nov 19 2019 at 21:42)</a>:</h4>
<p>I suspect we need to add <code>drop(is_blocked)</code> before <a href="https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/sleep/mod.rs#L218" target="_blank" title="https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/sleep/mod.rs#L218">the call to <code>acquire_thread</code> here</a></p>



<a name="181157513"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181157513" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181157513">(Nov 19 2019 at 21:43)</a>:</h4>
<p>actually i'm a bit surprised I acquire that lock so early</p>



<a name="181157523"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181157523" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181157523">(Nov 19 2019 at 21:43)</a>:</h4>
<p>though I think I have to do it before some of the other operations to avoid missing an interrupt</p>



<a name="181157537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181157537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181157537">(Nov 19 2019 at 21:43)</a>:</h4>
<p>anyway, as the code is now, if we block in <code>acquire_thread</code>, other threads may fail when trying to wake us up</p>



<a name="181157598"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181157598" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181157598">(Nov 19 2019 at 21:44)</a>:</h4>
<blockquote>
<p><a href="https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/sleep/mod.rs#L369" target="_blank" title="https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/sleep/mod.rs#L369">https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/sleep/mod.rs#L369</a></p>
</blockquote>
<p>the tip off is here -- we should not be blocked here</p>



<a name="181157608"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181157608" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181157608">(Nov 19 2019 at 21:44)</a>:</h4>
<p>as <code>is_blocked</code> should never be locked for an indefinite amount of time</p>



<a name="181178349"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181178349" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181178349">(Nov 20 2019 at 04:12)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> yeah, adding a drop there works</p>



<a name="181178364"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181178364" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181178364">(Nov 20 2019 at 04:13)</a>:</h4>
<p>just pushed to <code>spastorino/rustc-rayon</code> and pushed to <a href="https://github.com/rust-lang/rust/pull/66527" target="_blank" title="https://github.com/rust-lang/rust/pull/66527">the PR</a> and re-run try again</p>



<a name="181200051"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181200051" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181200051">(Nov 20 2019 at 11:53)</a>:</h4>
<p><span class="user-mention" data-user-id="116015">@Alex Crichton</span> can you give it a try to it when you're available?</p>



<a name="181218243"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181218243" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181218243">(Nov 20 2019 at 15:35)</a>:</h4>
<p>Ok I've given the build a spin</p>



<a name="181218254"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181218254" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181218254">(Nov 20 2019 at 15:35)</a>:</h4>
<p>I'm getting pretty similar numbers though</p>



<a name="181218265"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181218265" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181218265">(Nov 20 2019 at 15:35)</a>:</h4>
<p>I don't think that there's really too much difference</p>



<a name="181218283"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181218283" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181218283">(Nov 20 2019 at 15:35)</a>:</h4>
<div class="codehilite"><pre><span></span>   syscall              calls       total       min       avg       max
                                    (msec)    (msec)    (msec)    (msec)
   ----------------- -------- ------------ --------- --------- ---------

   futex                56856  1183229.780     0.000    20.811  2110.401
   sched_yield         189175  1042027.023     0.001     5.508   911.355
   poll                  7079   469753.013     0.000    66.359  1676.488
   read                 11149   446902.643     0.000    40.085  1186.069
   write                 8890    57014.269     0.000     6.413  1010.733
   munmap                7093    34554.982     0.000     4.872  1010.743
   rt_sigprocmask        2837    14168.891     0.000     4.994   204.912
</pre></div>



<a name="181218292"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181218292" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181218292">(Nov 20 2019 at 15:35)</a>:</h4>
<p>that's still a huge amount of time in <code>sched_yield</code></p>



<a name="181218927"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181218927" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181218927">(Nov 20 2019 at 15:41)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> ^</p>



<a name="181219011"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181219011" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181219011">(Nov 20 2019 at 15:42)</a>:</h4>
<p><span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span> cc <span class="user-mention" data-user-id="116009">@nikomatsakis</span></p>



<a name="181219028"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181219028" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181219028">(Nov 20 2019 at 15:42)</a>:</h4>
<p>so I guess the rayon work didn't help that much</p>



<a name="181221812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181221812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181221812">(Nov 20 2019 at 16:10)</a>:</h4>
<p>I really would like to get a % allocation of where those calls are coming from</p>



<a name="181221830"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181221830" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181221830">(Nov 20 2019 at 16:11)</a>:</h4>
<p>e.g. is it actually rayon? or are our locks for example not great (e.g., we don't do the "fast" path in Mutex I believe)</p>



<a name="181269274"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181269274" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181269274">(Nov 21 2019 at 01:57)</a>:</h4>
<p>hm so I do not have 14/28 cores -- but I tried to run the benchmark on cargo locally, and I'm not seeing a similar problem</p>
<p>threads=1:</p>
<div class="codehilite"><pre><span></span>   syscall              calls       total       min       avg       max   calls/process
                                    (msec)    (msec)    (msec)    (msec)
   ----------------- -------- ------------ --------- --------- ---------  -------------

   futex                45212    60899.383     0.001     1.347  1237.811       64
   poll                   406    28968.423     0.002    71.351   937.439        0
   read                  5913    11218.518     0.001     1.897   391.518        8
   execve                 212      348.855     0.144     1.646    12.630        0
   clone                 1308      319.756     0.000     0.244     5.406        1
   openat               16447      139.963     0.002     0.009    16.200       23
   mmap                 11993      124.975     0.002     0.010     7.969       17
   munmap                3038      115.923     0.002     0.038     3.028        4
   write                 3199       63.374     0.001     0.020     0.360        4
   lstat                16320       56.009     0.001     0.003     0.144       23
</pre></div>


<p>threads=16:</p>
<div class="codehilite"><pre><span></span>   syscall              calls       total       min       avg       max   calls/process
                                    (msec)    (msec)    (msec)    (msec)
   ----------------- -------- ------------ --------- --------- ---------  -------------

   futex                49488   492724.271     0.001     9.956  2275.793       29
   poll                  4438   308205.607     0.002    69.447   777.625        2
   read                  8790   116879.351     0.001    13.297   293.349        5
   sched_yield         120716     3300.245     0.001     0.027    30.798       72
   clone                 3269     1608.880     0.000     0.492    32.415        1
   munmap                4961     1286.013     0.002     0.259    46.807        2
   write                 6558     1052.591     0.001     0.161    46.031        3
   mmap                 14455      425.569     0.002     0.029    11.968        8
   execve                 170      375.855     0.148     2.211    16.231        0
   madvise               1731      190.411     0.003     0.110    46.988        1
</pre></div>



<a name="181269286"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181269286" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181269286">(Nov 21 2019 at 01:57)</a>:</h4>
<p>certainly many more sched_yield calls</p>



<a name="181269287"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181269287" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181269287">(Nov 21 2019 at 01:57)</a>:</h4>
<p>but not drastically so</p>



<a name="181269347"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181269347" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181269347">(Nov 21 2019 at 01:58)</a>:</h4>
<p>and very little time spent (3.3 seconds only, across 16 cores of 3 seconds so -- 7% of time?)</p>



<a name="181269365"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181269365" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181269365">(Nov 21 2019 at 01:59)</a>:</h4>
<p>going to try out the original commit</p>



<a name="181269471"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181269471" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181269471">(Nov 21 2019 at 02:01)</a>:</h4>
<p>the old commit (<a href="https://github.com/rust-lang/rust/commit/8d78bf6b273848d17da8f5c92162c6a6b9b10dfd" target="_blank" title="https://github.com/rust-lang/rust/commit/8d78bf6b273848d17da8f5c92162c6a6b9b10dfd">8d78bf6b273848d17da8f5c92162c6a6b9b10dfd</a>-alt) I also don't see anything like the numbers you report:</p>
<div class="codehilite"><pre><span></span>   syscall              calls       total       min       avg       max   calls/process
                                    (msec)    (msec)    (msec)    (msec)
   ----------------- -------- ------------ --------- --------- ---------  -------------

   futex                44951   414095.520     0.001     9.212  2084.394       29
   poll                  4403   386375.166     0.002    87.753   840.755        2
   read                  8081   168858.116     0.001    20.896   485.283        5
   sched_yield         250017     2598.084     0.001     0.010    10.362      165
   clone                 2951     1580.496     0.000     0.536    12.840        1
   write                 6045     1161.817     0.001     0.192    32.851        4
   mmap                 12679      465.769     0.002     0.037    27.262        8
   statx                 2214      355.845     0.002     0.161    34.590        1
   openat               11254      302.685     0.002     0.027    34.587        7
   execve                 146      211.512     0.145     1.449    13.039        0
</pre></div>



<a name="181269590"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181269590" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181269590">(Nov 21 2019 at 02:03)</a>:</h4>
<p>certainly we're yielding more than we do at threads=1 but that seems ... reasonable</p>



<a name="181269748"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181269748" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181269748">(Nov 21 2019 at 02:06)</a>:</h4>
<p><span class="user-mention" data-user-id="116015">@Alex Crichton</span> I'm on somewhat similar hardware (1800X ryzen) and running 5.0.0-36-generic as my kernel... I wonder if there's something about your system that is leading to these different numbers</p>



<a name="181269762"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181269762" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181269762">(Nov 21 2019 at 02:06)</a>:</h4>
<p>I wonder if we can try to find another system to try this out on (to try and replicate)</p>



<a name="181270148"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181270148" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181270148">(Nov 21 2019 at 02:15)</a>:</h4>
<p>separately trying to get a picture of how "good" we are at using the CPUs during those initial 3 seconds; this is from <code>perf sched timehist -s</code> </p>
<div class="codehilite"><pre><span></span>Idle stats:
    CPU  0 idle for    404.750  msec  ( 14.03%)
    CPU  1 idle for     59.332  msec  (  2.06%)
    CPU  2 idle for    156.965  msec  (  5.44%)
    CPU  3 idle for    436.694  msec  ( 15.14%)
    CPU  4 idle for      3.127  msec  (  0.11%)
    CPU  5 idle for    332.809  msec  ( 11.53%)
    CPU  6 idle for    390.287  msec  ( 13.53%)
    CPU  7 idle for    196.263  msec  (  6.80%)
    CPU  8 idle for    213.140  msec  (  7.39%)
    CPU  9 idle for    165.615  msec  (  5.74%)
    CPU 10 idle for    220.957  msec  (  7.66%)
    CPU 11 idle for    246.667  msec  (  8.55%)
    CPU 12 idle for    361.374  msec  ( 12.52%)
    CPU 13 idle for    415.110  msec  ( 14.39%)
    CPU 14 idle for    440.170  msec  ( 15.26%)
    CPU 15 idle for     93.169  msec  (  3.23%)
</pre></div>



<a name="181270192"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181270192" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181270192">(Nov 21 2019 at 02:16)</a>:</h4>
<p>this also seems not too bad, although the numbers are higher than I'd like</p>



<a name="181271531"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271531" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271531">(Nov 21 2019 at 02:48)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> I believe this problem is directly related to the number of cores actually</p>



<a name="181271541"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271541" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271541">(Nov 21 2019 at 02:49)</a>:</h4>
<p>Can you try overcommitting with j28 and Z16?</p>



<a name="181271550"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271550" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271550">(Nov 21 2019 at 02:49)</a>:</h4>
<p>The problem I think is happening by definition goes away on low core counts</p>



<a name="181271553"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271553" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271553">(Nov 21 2019 at 02:49)</a>:</h4>
<p>hm, does -j28 have effect? I sort of thought we "limited" it at num_cpus</p>



<a name="181271556"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271556" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271556">(Nov 21 2019 at 02:49)</a>:</h4>
<p>We don't</p>



<a name="181271559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271559">(Nov 21 2019 at 02:49)</a>:</h4>
<p>ah okay will try</p>



<a name="181271561"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271561" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271561">(Nov 21 2019 at 02:49)</a>:</h4>
<p>J28 tells cargo to spawn 28 things</p>



<a name="181271609"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271609" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271609">(Nov 21 2019 at 02:50)</a>:</h4>
<p>You just gotta override both rustc and cargo</p>



<a name="181271621"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271621" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271621">(Nov 21 2019 at 02:50)</a>:</h4>
<p>and the numbers above are for first 3 seconds still right?</p>



<a name="181271623"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271623" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271623">(Nov 21 2019 at 02:50)</a>:</h4>
<p>Yeah</p>



<a name="181271624"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271624" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271624">(Nov 21 2019 at 02:50)</a>:</h4>
<p>and are you <code>cargo check</code> or <code>cargo build</code>?</p>



<a name="181271631"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271631" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271631">(Nov 21 2019 at 02:51)</a>:</h4>
<p>If you look at top you should see a lot of.red</p>



<a name="181271634"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271634" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271634">(Nov 21 2019 at 02:51)</a>:</h4>
<p>Er htop</p>



<a name="181271635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271635">(Nov 21 2019 at 02:51)</a>:</h4>
<p>Check I think</p>



<a name="181271645"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271645" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271645">(Nov 21 2019 at 02:51)</a>:</h4>
<p>like if you watch htop during a normal build it should be a lot of.green</p>



<a name="181271650"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271650" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271650">(Nov 21 2019 at 02:51)</a>:</h4>
<p>Given lots of parallelism it should go to a lot of red</p>



<a name="181271718"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271718" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271718">(Nov 21 2019 at 02:53)</a>:</h4>
<p>basically I'm trying to quantify how we're wasting tons of cpu cycles to parallelism</p>



<a name="181271720"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271720" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271720">(Nov 21 2019 at 02:53)</a>:</h4>
<p>in such a way that's actually hurtful sometimes</p>



<a name="181271723"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271723" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271723">(Nov 21 2019 at 02:53)</a>:</h4>
<p>although I do not know precisely where all the wasted cpu cycles are going</p>



<a name="181271726"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271726" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271726">(Nov 21 2019 at 02:53)</a>:</h4>
<p>hm</p>



<a name="181271768"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271768" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271768">(Nov 21 2019 at 02:54)</a>:</h4>
<p>I'm just suspecting rayon's original management of threads, given that niko says threads take awhile before going to sleep</p>



<a name="181271770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271770">(Nov 21 2019 at 02:54)</a>:</h4>
<p>so -Z16 and -j28 is indeed a little red, but not too much</p>



<a name="181271773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271773">(Nov 21 2019 at 02:54)</a>:</h4>
<p>try Z 28</p>



<a name="181271774"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271774" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271774">(Nov 21 2019 at 02:54)</a>:</h4>
<p>z16,j28</p>
<div class="codehilite"><pre><span></span>   syscall              calls       total       min       avg       max   calls/process
                                    (msec)    (msec)    (msec)    (msec)
   ----------------- -------- ------------ --------- --------- ---------  -------------

   futex                49412   644980.216     0.000    13.053  2434.576       29
   poll                  5053   350509.408     0.000    69.367  1261.564        3
   read                  9007   218561.099     0.000    24.266  1343.709        5
   sched_yield         136958    23475.238     0.000     0.171   408.015       82
   clone                 3073     2463.893     0.000     0.802    94.421        1
   lstat                12284     2180.009     0.001     0.177   116.997        7
   write                 7050     1602.995     0.001     0.227   408.168        4
   mmap                 13393      835.740     0.000     0.062    58.253        8
   execve                 155      703.738     0.000     4.540    31.124        0
   statx                 2494      320.205     0.002     0.128   116.849        1
</pre></div>



<a name="181271775"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271775" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271775">(Nov 21 2019 at 02:54)</a>:</h4>
<p>like I think it's an n^2 problem</p>



<a name="181271778"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271778" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271778">(Nov 21 2019 at 02:54)</a>:</h4>
<p>I feel like that alone is somewhat damning though</p>



<a name="181271784"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271784" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271784">(Nov 21 2019 at 02:54)</a>:</h4>
<p>er no, microseconds not milliseconds</p>



<a name="181271786"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271786" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271786">(Nov 21 2019 at 02:54)</a>:</h4>
<p>but even still sched_yield is <em>super</em> high</p>



<a name="181271790"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271790" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271790">(Nov 21 2019 at 02:55)</a>:</h4>
<p>when the compiler basically shouldn't ever need to call that</p>



<a name="181271815"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271815" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271815">(Nov 21 2019 at 02:55)</a>:</h4>
<p>like that's pure wasted work</p>



<a name="181271816"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271816" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271816">(Nov 21 2019 at 02:55)</a>:</h4>
<p>or inefficient locks</p>



<a name="181271820"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271820" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271820">(Nov 21 2019 at 02:55)</a>:</h4>
<p>z28,j28</p>
<div class="codehilite"><pre><span></span>   syscall              calls       total       min       avg       max   calls/process
                                    (msec)    (msec)    (msec)    (msec)
   ----------------- -------- ------------ --------- --------- ---------  -------------

   futex                44449  1077188.759     0.000    24.234  2435.781       21
   poll                  5044   707108.738     0.000   140.188  1255.582        2
   read                  8110   395605.906     0.000    48.780  1044.792        3
   sched_yield         130912   361197.555     0.000     2.759   826.776       62
   write                 6331    16191.301     0.000     2.557   826.988        3
   munmap                4582     7346.600     0.000     1.603   424.413        2
   clone                 4029     5330.293     0.000     1.323   208.436        1
   madvise               1420     2435.015     0.000     1.715   424.451        0
   sigaltstack           5344     2205.971     0.000     0.413   424.403        2
   mmap                 14459     1444.194     0.000     0.100    38.904        6
</pre></div>



<a name="181271821"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271821" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271821">(Nov 21 2019 at 02:55)</a>:</h4>
<p>it's also a massive amount of time in futex...</p>



<a name="181271823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271823">(Nov 21 2019 at 02:55)</a>:</h4>
<p>futex time is crazy, yes</p>



<a name="181271827"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271827" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271827">(Nov 21 2019 at 02:55)</a>:</h4>
<p>I agree that these numbers are suspicious at best :)</p>



<a name="181271831"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271831" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271831">(Nov 21 2019 at 02:55)</a>:</h4>
<p>I also think <code>/usr/bin/time</code> can be informative</p>



<a name="181271832"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271832" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271832">(Nov 21 2019 at 02:55)</a>:</h4>
<p><a href="https://hackmd.io/oUdvUU2lTk2ZxfOWQBT9xQ#Crates-in-the-first-3-seconds" target="_blank" title="https://hackmd.io/oUdvUU2lTk2ZxfOWQBT9xQ#Crates-in-the-first-3-seconds">https://hackmd.io/oUdvUU2lTk2ZxfOWQBT9xQ#Crates-in-the-first-3-seconds</a></p>



<a name="181271877"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271877" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271877">(Nov 21 2019 at 02:56)</a>:</h4>
<p>like the involuntary context switches is really weird</p>



<a name="181271910"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271910" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271910">(Nov 21 2019 at 02:57)</a>:</h4>
<p>28/28 I am seeing similar number of involuntary switches (64309)</p>



<a name="181271955"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271955" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271955">(Nov 21 2019 at 02:58)</a>:</h4>
<p>also the user time is pretty indicative</p>



<a name="181271957"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271957" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271957">(Nov 21 2019 at 02:58)</a>:</h4>
<p>like the more threads the more user time went down</p>



<a name="181271961"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271961" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271961">(Nov 21 2019 at 02:58)</a>:</h4>
<div class="codehilite"><pre><span></span>        Command being timed: &quot;/home/mark/.cargo/bin/cargo +ab0dc4e2702a383b051a08b88350c8139a8b47c7-alt check -j28&quot;
        User time (seconds): 6.35
        System time (seconds): 13.35
        Percent of CPU this job got: 650%
</pre></div>



<a name="181271962"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271962" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271962">(Nov 21 2019 at 02:58)</a>:</h4>
<p>which meant that the more parallelism you have the more that's being wsated in the kernel</p>



<a name="181271975"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271975" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271975">(Nov 21 2019 at 02:59)</a>:</h4>
<p>with t8,j28</p>
<div class="codehilite"><pre><span></span>        Command being timed: &quot;/home/mark/.cargo/bin/cargo +ab0dc4e2702a383b051a08b88350c8139a8b47c7-alt check -j28&quot;
        User time (seconds): 28.44
        System time (seconds): 7.64
        Percent of CPU this job got: 1195%
</pre></div>



<a name="181271982"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271982" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271982">(Nov 21 2019 at 02:59)</a>:</h4>
<p>for a compiler user time should be like 100%</p>



<a name="181271989"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181271989" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181271989">(Nov 21 2019 at 02:59)</a>:</h4>
<p>like compare those numbers with the single-threaded compiler</p>



<a name="181272051"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272051" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272051">(Nov 21 2019 at 03:00)</a>:</h4>
<p>single threaded is indeed on par with -t8 I think:</p>
<div class="codehilite"><pre><span></span>        Command being timed: &quot;/home/mark/.cargo/bin/cargo +ab0dc4e2702a383b051a08b88350c8139a8b47c7 check -j28&quot;
        User time (seconds): 31.49
        System time (seconds): 4.02
        Percent of CPU this job got: 1176%
</pre></div>



<a name="181272058"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272058" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272058">(Nov 21 2019 at 03:01)</a>:</h4>
<p>Is sched_yield just called by locks? It doesn't seem like something Rayon / thread spawning would call</p>



<a name="181272077"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272077" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272077">(Nov 21 2019 at 03:01)</a>:</h4>
<p>rayon threads yield while trying to sleep</p>



<a name="181272120"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272120" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272120">(Nov 21 2019 at 03:02)</a>:</h4>
<p><a href="https://github.com/rayon-rs/rayon/blob/401678ee554f90ab11abe70eb23737e26b489ddd/rayon-core/src/sleep/mod.rs#L63-L95" target="_blank" title="https://github.com/rayon-rs/rayon/blob/401678ee554f90ab11abe70eb23737e26b489ddd/rayon-core/src/sleep/mod.rs#L63-L95">https://github.com/rayon-rs/rayon/blob/401678ee554f90ab11abe70eb23737e26b489ddd/rayon-core/src/sleep/mod.rs#L63-L95</a></p>



<a name="181272124"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272124" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272124">(Nov 21 2019 at 03:02)</a>:</h4>
<p>like we may be able to ship what we have now if we just cap compiler threads at 6</p>



<a name="181272126"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272126" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272126">(Nov 21 2019 at 03:02)</a>:</h4>
<p>instead of ncpus</p>



<a name="181272129"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272129" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272129">(Nov 21 2019 at 03:02)</a>:</h4>
<p>is what I'm reading from this data</p>



<a name="181272132"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272132" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272132">(Nov 21 2019 at 03:02)</a>:</h4>
<p>it does seem that way</p>



<a name="181272137"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272137" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272137">(Nov 21 2019 at 03:02)</a>:</h4>
<p>it's a bit worrisome that I can't reproduce the sched_yield stuff no matter what, like, I get higher numbers but not astronomically like you do</p>



<a name="181272211"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272211" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272211">(Nov 21 2019 at 03:04)</a>:</h4>
<p>Hm.. I don't see why Rayon should call <code>thread::yield_now</code>. There won't be any threads to switch to if everything works correctly</p>



<a name="181272220"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272220" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272220">(Nov 21 2019 at 03:04)</a>:</h4>
<p>I think the thought is that it is "inexpensive sleep"</p>



<a name="181272225"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272225" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272225">(Nov 21 2019 at 03:04)</a>:</h4>
<p>that might be false though :)</p>



<a name="181272230"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272230" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272230">(Nov 21 2019 at 03:04)</a>:</h4>
<p>and it's not strictly true that might not be effective</p>



<a name="181272233"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272233" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272233">(Nov 21 2019 at 03:04)</a>:</h4>
<p>mutexes may call yield, depends on the implementation</p>



<a name="181272235"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272235" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272235">(Nov 21 2019 at 03:04)</a>:</h4>
<p>that's only true on a system where rustc is the only thing</p>



<a name="181272306"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272306" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272306">(Nov 21 2019 at 03:06)</a>:</h4>
<p>It's a very expensive sleep, <code>std::sync::atomic::spin_loop_hint</code> is probably what should be called?</p>



<a name="181272320"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272320" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272320">(Nov 21 2019 at 03:06)</a>:</h4>
<p>hm, I don't know, maybe</p>



<a name="181272323"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272323" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272323">(Nov 21 2019 at 03:06)</a>:</h4>
<p>it's called pretty eagerly on rayon master</p>



<a name="181272341"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272341" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272341">(Nov 21 2019 at 03:07)</a>:</h4>
<p>and same with Niko's branch (<a href="https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/sleep/mod.rs#L104" target="_blank" title="https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/sleep/mod.rs#L104">https://github.com/spastorino/rustc-rayon/blob/latch-target-thread-rustc/rayon-core/src/sleep/mod.rs#L104</a>)</p>



<a name="181272342"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272342" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272342">(Nov 21 2019 at 03:07)</a>:</h4>
<p>We could patch it out and see if it helps with Alex's 14 cores.</p>



<a name="181272343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272343">(Nov 21 2019 at 03:07)</a>:</h4>
<p>I suspect it might just want to do nothing</p>



<a name="181272350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272350">(Nov 21 2019 at 03:08)</a>:</h4>
<p>cc <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> would you be up to removing the yield_now calls from rayon and re-pushing that up as a try build?</p>



<a name="181272415"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272415" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272415">(Nov 21 2019 at 03:09)</a>:</h4>
<p>But yeah I think it may be that we just limit ourselves to, say, -Zthreads=6 or something for now</p>



<a name="181272419"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272419" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272419">(Nov 21 2019 at 03:09)</a>:</h4>
<p>otoh, we can't even get major performance wins with that (nowhere near linear speedup)</p>



<a name="181272484"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272484" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272484">(Nov 21 2019 at 03:10)</a>:</h4>
<p>We'd want to limit rustc to the number of threads which gives the fastest builds anyway. There's probably some contention in rustc which limits that far below 14 cores currently</p>



<a name="181272501"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272501" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272501">(Nov 21 2019 at 03:11)</a>:</h4>
<p>(e.g., worth noting that we shard to 32 - that might be too small if your thread count is half that)</p>



<a name="181272521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272521">(Nov 21 2019 at 03:11)</a>:</h4>
<p>anyway, I'm off for the night but hopefully we can rebenchmark with rayon's yielding removed at least</p>



<a name="181272564"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272564" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272564">(Nov 21 2019 at 03:12)</a>:</h4>
<p>but either way seems like we have rough consensus that limiting thread count would be fine for now</p>



<a name="181272746"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272746" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272746">(Nov 21 2019 at 03:16)</a>:</h4>
<blockquote>
<p>It's a very expensive sleep, <code>std::sync::atomic::spin_loop_hint</code> is probably what should be called?</p>
</blockquote>
<p>this makes me a bit worried... this sort of conveys a bit of a misunderstanding of what a spin loop is used for?</p>



<a name="181272758"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272758" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272758">(Nov 21 2019 at 03:17)</a>:</h4>
<p>if you peg a core waiting for a mutex to get unlocked if an off-core thread actually holds the lock you just eat your whole time slice spinning</p>



<a name="181272765"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272765" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272765">(Nov 21 2019 at 03:17)</a>:</h4>
<p>the thinking is that you spin for a little bit, which I suspect that parking lot already does</p>



<a name="181272772"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272772" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272772">(Nov 21 2019 at 03:17)</a>:</h4>
<p>and then you switch to the system, likely with a futex (hopefully) rather than a thread yield</p>



<a name="181272990"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181272990" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181272990">(Nov 21 2019 at 03:22)</a>:</h4>
<p>Rayon spins a bit (64 iterations) before giving up its jobserver token and actually sleeping. It calls <code>yield_now</code> per iteration of that loop currently.</p>



<a name="181273006"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181273006" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181273006">(Nov 21 2019 at 03:22)</a>:</h4>
<p>We can tune the amount of iterations too, to see if it that helps.</p>



<a name="181273298"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181273298" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181273298">(Nov 21 2019 at 03:30)</a>:</h4>
<p>We probably want to replace the <code>yield_now</code> calls in Rayon with an user-mode sleep operation to avoid contention on Rayon's data structures. Possibly with quadratic back-off.</p>



<a name="181273401"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181273401" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181273401">(Nov 21 2019 at 03:33)</a>:</h4>
<p>Just removing them would let us verify that it is the Rayon calls that is showing up in the profile.</p>



<a name="181273858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181273858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181273858">(Nov 21 2019 at 03:44)</a>:</h4>
<p>It would also be interesting to know how much thread spawning is slowing down small crates. Perhaps we could create a branch which just crates 27 thread which just acquires a jobserver token and releases it, and just uses 1 thread for rustc itself, and compare how that performs on small crates versus 28 rustc threads</p>



<a name="181274178"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181274178" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181274178">(Nov 21 2019 at 03:53)</a>:</h4>
<p>Limiting Rayon to only creating a thread every 5 ms or so might be a good idea. It would avoid contention in the kernel, avoid wasting time creating extra threads for small crates and it would also effectively load balance jobserver tokens between rustc processes if cargo spawns a bunch of rustc instances.</p>



<a name="181275862"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181275862" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181275862">(Nov 21 2019 at 04:41)</a>:</h4>
<p>Yes I think a big issue is that for my system every rustc process spawns 28 threads which then yield a bunch and then sleep. Every single compiler does this while trading around who's got the token to idle for a bit I believe</p>



<a name="181275911"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181275911" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181275911">(Nov 21 2019 at 04:42)</a>:</h4>
<p>Throttling thread creation would be a huge win I suspect, but I doubt time limiting is needed but rather only spinning up a thread when there is parallel work to do</p>



<a name="181275914"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181275914" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181275914">(Nov 21 2019 at 04:42)</a>:</h4>
<p>Rather than spawning all threads at the start</p>



<a name="181275928"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181275928" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181275928">(Nov 21 2019 at 04:43)</a>:</h4>
<p>This means we would need some sort of coordinator thread or something like that but I don't think that's the end of the world</p>



<a name="181277711"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181277711" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181277711">(Nov 21 2019 at 05:33)</a>:</h4>
<p>There is likely enough parallel work in a small crate (say typechecking 28 functions) to spawn 28 threads. We'll immediately do parallel parsing too, but small crates will probably have just a few files.</p>



<a name="181300342"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181300342" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181300342">(Nov 21 2019 at 12:43)</a>:</h4>
<blockquote>
<p>cc <span class="user-mention silent" data-user-id="116266">Santiago Pastorino</span> would you be up to removing the yield_now calls from rayon and re-pushing that up as a try build?</p>
</blockquote>
<p>I can try that yeah</p>



<a name="181301087"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181301087" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181301087">(Nov 21 2019 at 12:51)</a>:</h4>
<p>if you have 28 functions then you shouldn't spin up 28 threads, right? Like, I would hope that we can tune rayon or w/e to be less eager</p>



<a name="181301092"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181301092" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181301092">(Nov 21 2019 at 12:52)</a>:</h4>
<p>type checking 28 functions should likely be done on a single thread</p>



<a name="181303523"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181303523" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181303523">(Nov 21 2019 at 13:24)</a>:</h4>
<p>Some rough thinking I have is that the main thread, the one that main starts on, is the one responsible for Fielding requests to spin up new threads</p>



<a name="181303539"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181303539" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181303539">(Nov 21 2019 at 13:25)</a>:</h4>
<p>It then always reads a jobswrver token before it spins up a new thread</p>



<a name="181303562"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181303562" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181303562">(Nov 21 2019 at 13:25)</a>:</h4>
<p>Which should ideally throttle it by quite a bit, and also caps the total number of threads</p>



<a name="181303603"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181303603" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181303603">(Nov 21 2019 at 13:25)</a>:</h4>
<p>By adding a few Ms of latency we can also amortize tiny bursts of parallelism I'd hope</p>



<a name="181316596"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181316596" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181316596">(Nov 21 2019 at 15:42)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/pull/66608" target="_blank" title="https://github.com/rust-lang/rust/pull/66608">https://github.com/rust-lang/rust/pull/66608</a></p>



<a name="181316635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181316635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181316635">(Nov 21 2019 at 15:42)</a>:</h4>
<p>I thought I've already shared that but seems I didn't (?)</p>



<a name="181316664"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181316664" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181316664">(Nov 21 2019 at 15:43)</a>:</h4>
<p>anyway, try didn't finish yet</p>



<a name="181575196"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181575196" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181575196">(Nov 21 2019 at 19:26)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> <a href="https://github.com/rust-lang/rust/pull/66608#issuecomment-557234516" target="_blank" title="https://github.com/rust-lang/rust/pull/66608#issuecomment-557234516">https://github.com/rust-lang/rust/pull/66608#issuecomment-557234516</a> unsure if that means that we need to run try again or what</p>



<a name="181575840"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181575840" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181575840">(Nov 21 2019 at 19:32)</a>:</h4>
<p>Yeah bors retry should do it</p>



<a name="181647382"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181647382" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181647382">(Nov 22 2019 at 15:23)</a>:</h4>
<p>done and we have a try build ready <a href="https://github.com/rust-lang/rust/pull/66608#issuecomment-557569098" target="_blank" title="https://github.com/rust-lang/rust/pull/66608#issuecomment-557569098">https://github.com/rust-lang/rust/pull/66608#issuecomment-557569098</a></p>



<a name="181647393"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181647393" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181647393">(Nov 22 2019 at 15:23)</a>:</h4>
<p>can you try again your tests?</p>



<a name="181647410"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181647410" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181647410">(Nov 22 2019 at 15:23)</a>:</h4>
<p>cc <span class="user-mention" data-user-id="116015">@Alex Crichton</span> <span class="user-mention" data-user-id="116122">@simulacrum</span></p>



<a name="181654373"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181654373" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181654373">(Nov 22 2019 at 16:35)</a>:</h4>
<p>building now</p>



<a name="181654553"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181654553" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181654553">(Nov 22 2019 at 16:36)</a>:</h4>
<p>well that definitely erased <code>sched_yield</code> from the perf output</p>



<a name="181654575"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181654575" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181654575">(Nov 22 2019 at 16:37)</a>:</h4>
<div class="codehilite"><pre><span></span>   syscall              calls       total       min       avg       max
                                    (msec)    (msec)    (msec)    (msec)
   ----------------- -------- ------------ --------- --------- ---------

   futex                52673    45873.689     0.001     0.871  1289.374
   poll                   608    12383.221     0.001    20.367   325.203
   read                  7374     2967.659     0.001     0.402   171.086
   clone                 1593      777.233     0.000     0.488     5.518
   execve                 232      224.929     0.081     0.970    14.779
   openat               27286      126.343     0.001     0.005    18.379
</pre></div>



<a name="181654618"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181654618" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181654618">(Nov 22 2019 at 16:37)</a>:</h4>
<p>er spoke too soon</p>



<a name="181654620"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181654620" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181654620">(Nov 22 2019 at 16:37)</a>:</h4>
<p>that's threads=1</p>



<a name="181654639"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181654639" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181654639">(Nov 22 2019 at 16:37)</a>:</h4>
<p>this is threads=28</p>
<div class="codehilite"><pre><span></span>   syscall              calls       total       min       avg       max
                                    (msec)    (msec)    (msec)    (msec)
   ----------------- -------- ------------ --------- --------- ---------

   futex                70130  1146037.646     0.001    16.342  1918.354
   read                 14774   472861.060     0.001    32.006   787.389
   poll                 10155   295364.289     0.000    29.086   787.293
   sched_yield          15723    22342.877     0.001     1.421   124.090
   write                12407    13890.783     0.001     1.120   787.618
   clone                 5097    13820.337     0.000     2.711    69.469
   munmap                8538     4180.142     0.000     0.490    66.131
</pre></div>



<a name="181654773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181654773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181654773">(Nov 22 2019 at 16:39)</a>:</h4>
<p>still a massive amount of system time</p>



<a name="181654774"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181654774" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181654774">(Nov 22 2019 at 16:39)</a>:</h4>
<p>for threads=28</p>



<a name="181654782"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181654782" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181654782">(Nov 22 2019 at 16:39)</a>:</h4>
<div class="codehilite"><pre><span></span>        User time (seconds): 26.96
        System time (seconds): 40.44
</pre></div>



<a name="181654809"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181654809" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181654809">(Nov 22 2019 at 16:39)</a>:</h4>
<p>vs threads=1</p>
<div class="codehilite"><pre><span></span>        User time (seconds): 36.97
        System time (seconds): 4.15
</pre></div>



<a name="181657366"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181657366" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181657366">(Nov 22 2019 at 17:07)</a>:</h4>
<p>doh :(</p>



<a name="181657448"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181657448" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181657448">(Nov 22 2019 at 17:08)</a>:</h4>
<p><span class="user-mention" data-user-id="116015">@Alex Crichton</span> for threads=28 did this change something or not much?</p>



<a name="181657477"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181657477" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181657477">(Nov 22 2019 at 17:08)</a>:</h4>
<p>it probably changed something but doesn't seem to fix the much of an issue</p>



<a name="181657585"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181657585" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181657585">(Nov 22 2019 at 17:10)</a>:</h4>
<p>yeah I see what you mean but ...</p>



<a name="181657602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181657602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181657602">(Nov 22 2019 at 17:10)</a>:</h4>
<blockquote>
<p>the old commit (<a href="https://github.com/rust-lang/rust/commit/8d78bf6b273848d17da8f5c92162c6a6b9b10dfd" target="_blank" title="https://github.com/rust-lang/rust/commit/8d78bf6b273848d17da8f5c92162c6a6b9b10dfd">8d78bf6b273848d17da8f5c92162c6a6b9b10dfd</a>-alt) I also don't see anything like the numbers you report:</p>
<p>syscall              calls       total       min       avg       max   calls/process<br>
                                    (msec)    (msec)    (msec)    (msec)</p>
<hr>
<p>futex                44951   414095.520     0.001     9.212  2084.394       29<br>
   poll                  4403   386375.166     0.002    87.753   840.755        2<br>
   read                  8081   168858.116     0.001    20.896   485.283        5<br>
   sched_yield         250017     2598.084     0.001     0.010    10.362      165<br>
   clone                 2951     1580.496     0.000     0.536    12.840        1<br>
   write                 6045     1161.817     0.001     0.192    32.851        4<br>
   mmap                 12679      465.769     0.002     0.037    27.262        8<br>
   statx                 2214      355.845     0.002     0.161    34.590        1<br>
   openat               11254      302.685     0.002     0.027    34.587        7<br>
   execve                 146      211.512     0.145     1.449    13.039        0</p>
</blockquote>
<p>if this was threads=28</p>



<a name="181657641"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181657641" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181657641">(Nov 22 2019 at 17:10)</a>:</h4>
<p>that was on my system</p>



<a name="181657643"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181657643" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181657643">(Nov 22 2019 at 17:10)</a>:</h4>
<p>we were getting 250000 calls and are now at 15000</p>



<a name="181657650"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181657650" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181657650">(Nov 22 2019 at 17:10)</a>:</h4>
<p>(where sched_yield never featured highly for whatever reason)</p>



<a name="181657707"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181657707" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181657707">(Nov 22 2019 at 17:11)</a>:</h4>
<p>what I meant is ... saw in some of the results <span class="user-mention" data-user-id="116015">@Alex Crichton</span> shared more than 100.000 calls in some and more than 200.000 in others, and we are now at 15.000</p>



<a name="181657773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181657773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181657773">(Nov 22 2019 at 17:12)</a>:</h4>
<p>I understand that didn't fix the problem but this seems like an improvement I guess (?)</p>



<a name="181657899"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181657899" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181657899">(Nov 22 2019 at 17:13)</a>:</h4>
<p>It is an improvement for sure</p>



<a name="181657908"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181657908" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181657908">(Nov 22 2019 at 17:13)</a>:</h4>
<p>yes <code>sched_yield</code> is clearly down</p>



<a name="181657952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181657952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181657952">(Nov 22 2019 at 17:14)</a>:</h4>
<p>but the issue is that the system time is crazy huge</p>



<a name="181657968"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181657968" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181657968">(Nov 22 2019 at 17:14)</a>:</h4>
<p>which at this point probably means a massive amount of contention</p>



<a name="181657974"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181657974" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181657974">(Nov 22 2019 at 17:14)</a>:</h4>
<p>like my compiler is getting slower the more threads I throw at it</p>



<a name="181657976"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181657976" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181657976">(Nov 22 2019 at 17:14)</a>:</h4>
<p>yep</p>



<a name="181657979"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181657979" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181657979">(Nov 22 2019 at 17:14)</a>:</h4>
<p>which is the opposite of what we want</p>



<a name="181658000"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181658000" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181658000">(Nov 22 2019 at 17:14)</a>:</h4>
<p>I would like to try to figure out where that contention is coming from</p>



<a name="181658004"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181658004" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181658004">(Nov 22 2019 at 17:14)</a>:</h4>
<p>yeah, for sure something like that's going on :)</p>



<a name="181658056"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181658056" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181658056">(Nov 22 2019 at 17:15)</a>:</h4>
<blockquote>
<p>I would like to try to figure out where that contention is coming from</p>
</blockquote>
<p>I wonder what kind of tool do you use to figure that out</p>



<a name="181658060"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181658060" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181658060">(Nov 22 2019 at 17:15)</a>:</h4>
<p>I'd need to research a bit</p>



<a name="181658134"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181658134" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181658134">(Nov 22 2019 at 17:16)</a>:</h4>
<p><code>perf lock</code> looked possibly promising but seems to need a kernel compiled with some flags</p>



<a name="181658150"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181658150" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181658150">(Nov 22 2019 at 17:16)</a>:</h4>
<p>but we want to get a summary of what's the state of the rest of the threads on every thread acquisition</p>



<a name="181658208"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181658208" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181658208">(Nov 22 2019 at 17:17)</a>:</h4>
<blockquote>
<p><code>perf lock</code> looked possibly promising but seems to need a kernel compiled with some flags</p>
</blockquote>
<p>I could try to play with all that next week</p>



<a name="181658223"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181658223" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181658223">(Nov 22 2019 at 17:17)</a>:</h4>
<p>I'm hoping to spend sometime this weekend trying out a few ideas I have -- we'll see how far I get</p>



<a name="181658226"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181658226" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181658226">(Nov 22 2019 at 17:17)</a>:</h4>
<p>like 10 years ago I used to tweak all the kernel flags on my system, today I'm old to do that :P</p>



<a name="181658229"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181658229" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181658229">(Nov 22 2019 at 17:17)</a>:</h4>
<p>but if needed of course I can play again with it :)</p>



<a name="181658241"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181658241" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181658241">(Nov 22 2019 at 17:17)</a>:</h4>
<blockquote>
<p>I'm hoping to spend sometime this weekend trying out a few ideas I have -- we'll see how far I get</p>
</blockquote>
<p>better then :), <span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>



<a name="181658324"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181658324" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181658324">(Nov 22 2019 at 17:18)</a>:</h4>
<p>if it's not a problem, please try to gather as much as you do, may be something cool to document, share or at the least may be good for me to check out :)</p>



<a name="181659319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181659319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181659319">(Nov 22 2019 at 17:29)</a>:</h4>
<p>mhm, will try to</p>



<a name="181706974"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181706974" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181706974">(Nov 23 2019 at 08:50)</a>:</h4>
<p>I'd try sharding the symbol and maybe the span interner. Those are behind a single lock currently.</p>



<a name="181706983"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181706983" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181706983">(Nov 23 2019 at 08:51)</a>:</h4>
<p>Bumping the number of shards might also help for Alex's 14 cores. The current number of sufficient for my 8 cores.</p>



<a name="181839130"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/trying%20out%20the%20new%20rayon%20scheduler/near/181839130" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/trying.20out.20the.20new.20rayon.20scheduler.html#181839130">(Nov 25 2019 at 16:36)</a>:</h4>
<p>Oh, and Miri could probably use some sharding too</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>